/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Hogar;

import javax.microedition.midlet.*;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Hogar extends MIDlet implements CommandListener {
public Display pantalla;
public Edificio edificio;
private Falarma alarma;
private Fcalefaccion calefaccion;
private Fvideo video;
private Fmicroondas microondas;
private Fluces luces;
private CargaEstados cargaest;
private Alert alerta;
private List menu;
private Command salir;
private Ticker tick;
public Hogar(){
pantalla = Display.getDisplay(this);
edificio = new Edificio();
cargaest = new CargaEstados(this);
alarma = new Falarma(this);
calefaccion = new Fcalefaccion(this);
video = new Fvideo(this);
microondas = new Fmicroondas(this);
luces = new Fluces(this);
alerta = new Alert("¡Atencion!","",null,AlertType.INFO);
alerta.setTimeout(Alert.FOREVER);
tick = new Ticker("Bienvenido a Mi Hogar");
String opciones[] = {"Alarma", "Climatizacion", "Luces", "Video", "Microondas"};
menu = new List("Menu",Choice.IMPLICIT,opciones,null);
menu.setTicker(tick);
salir = new Command("Salir",Command.EXIT,1);
menu.addCommand(salir);
menu.setCommandListener(this);
}
public void startApp() {
pantalla.setCurrent(cargaest);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
notifyDestroyed();
}
public void commandAction(Command c, Displayable d){
if (c == salir){
destroyApp(false);
notifyDestroyed();
}
else{//Si selecciono una opción del menú
switch (menu.getSelectedIndex()){
case 0: {
alarma.setCoord(edificio.getCoordHabActiva());
pantalla.setCurrent(alarma);break;
}
case 1: {
calefaccion.setCoord(edificio.getCoordHabActiva());
pantalla.setCurrent(calefaccion);break;
}
case 2: {
pantalla.setCurrent(luces);
break;
}
case 3: {
if(!edificio.getVideo()) pantalla.setCurrent(video);
else {
alerta.setString("Video funcionando");
pantalla.setCurrent(alerta,menu);
}
break;
}
case 4:{
if (!edificio.getMicroondas())
pantalla.setCurrent(microondas);
else {
alerta.setString("Microondas funcionando");
pantalla.setCurrent(alerta,menu);
}
break;
}
}
}
}
public void verOpciones(){
pantalla.setCurrent(menu);
menu.setCommandListener(this);
}
public void setCalefaccion(){
pantalla.setCurrent(calefaccion);
}
public void setAlarma(){
pantalla.setCurrent(alarma);
}
public void setInfoLuz1(boolean[] est){
luces.setInfo1(est);
}
public void setInfoLuz2(int[][] coord){
luces.setInfo2(coord);
}
public void setInfoAlarma1(int[][] coord){
alarma.setInfo1(coord);
}
public void setInfoAlarma2(boolean[] est){
alarma.setInfo2(est);
}
}